package org.example.listener;

import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
 * 事务消息只是保证了本地事务和消息发送的原子性，
 * 如果 消费端消费失败 后的处理方式，建议是记录异常信息然后 人工处理 ，
 * 并不建议回滚上游服务的数据(因为两者是 解耦 的，而且 复杂度 太高)
 *
 * @author : Charles
 * @date : 2021/6/10
 */

@Slf4j
@Component
@RocketMQMessageListener(
        topic = "tx_topic",
        consumerGroup = "tx_group")
public class TxConsumerListener implements RocketMQListener<Map<String, String>> {
    @Override
    public void onMessage(Map<String, String> message) {
        log.info("{}收到消息：{}", this.getClass().getSimpleName(), message);
    }
}
